home *** CD-ROM | disk | FTP | other *** search
- % $Id: xymisc10.mf,v 2.6 1992/06/24 01:23:34 kris Exp $ -*-tex-*-
- %
- % XYMISC10: miscellaneous characters for XY mode at 10 point.
- % Copyright (c) 1991,1992 Kristoffer H. Rose <kris@diku.dk>
- %
- % This file is part of the XY-pic macro package.
- %
- % The XY-pic macro package is free software; you can redistribute it and/or
- % modify it under the terms of the GNU General Public License as published by
- % the Free Software Foundation; either version 2 of the License, or (at your
- % option) any later version.
- %
- % The XY-pic macro package is distributed in the hope that it will be
- % useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- % Public License for more details.
- %
- % You should have received a copy of the GNU General Public License along
- % with this macro package; if not, write to the Free Software Foundation, Inc.,
- % 675 Mass Ave, Cambridge, MA 02139, USA.
- %
- % CONTENTS:
- % Metaness.
- % Testing...
- % Font.
- % Dot fitting the rule width.
- % Quarter circles with radii from 1 to 10 and 12 to 30 pt; all have
- % height = depth = .5width = radius and are centered such that they
- % enter and leave the box in the middle of the sides.
- %
- font_identifier "XYMISC"; font_size 10pt#;
- font_coding_scheme:="XY miscellaneous";
- mode_setup;
-
- % METANESS...
- %
- rulew# = .4pt#; define_whole_blacker_pixels(rulew); % line thickness
- %
- def pickuppen = pickup pencircle scaled rulew enddef;
-
- % TESTING...we redefine openit because the characters extend far to the
- % left of the bounding box!
- %
- def openit = %%let echar = endchar; def endchar = echar; stop ". " enddef;
- openwindow currentwindow
- from origin to (1000,800) at (-200,300)
- enddef;
-
- % FONT.
- %
- % Font dimension 8 is the rule thickness (cf. The TeXbook, app.G)
- fontdimen 8: rulew#;
-
- % DOT FOR DOTTED LINES AND DUMMY CIRCLE...
- %
- beginchar(0,0,0,0); pickuppen; drawdot (0,0); endchar;
- beginchar(1,0,0,0); pickuppen; drawdot (0,0); endchar;
- beginchar(2,0,0,0); pickuppen; drawdot (0,0); endchar;
- beginchar(3,0,0,0); pickuppen; drawdot (0,0); endchar;
-
- % QUARTER CIRCLES... The four circles with radius N pt, 0 < N <= 10, are
- % located at N*4 + QUADRANT, where 1 <= QUADRANT <= 4. All have width as
- % their radius with reference point at the level of the horizontal end of the
- % arc and height, depth as the extent of the arc.
- %
- for radius = 1 step 1 until 10:
- beginchar(radius*4,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated 180 shifted (1,.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*4+1,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated -90 shifted (0,.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*4+2,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle shifted (0,-.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*4+3,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated 90 shifted (1,-.5) scaled (radius*2pt);
- endchar;
- endfor;
- %
- % For 12 <= N <= 40 we step in 2pt increments... so for 10 <= N <= 40 the
- % quarter circle with radius N is located at (N div 2 + 20 + QUADRANT).
- %
- for radius = 12 step 2 until 40:
- beginchar(radius*2+20,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated 180 shifted (1,.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*2+21,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated -90 shifted (0,.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*2+22,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle shifted (0,-.5) scaled (radius*2pt);
- endchar;
- beginchar(radius*2+23,2radius*pt#,radius*pt#,radius*pt#);
- pickuppen;
- draw quartercircle rotated 90 shifted (1,-.5) scaled (radius*2pt);
- endchar;
- endfor;
-
- bye.
- %
- % $Log: xymisc10.mf,v $
- % Revision 2.6 1992/06/24 01:23:34 kris
- % Cleaned up.
- %
- % Revision 2.1 1992/01/02 14:54:07 kris
- % Release version.
- %
- % Revision 1.6 1991/11/27 06:54:21 kris
- % \beta-test on DIKU.
- %
- % Revision 1.5 1991/10/21 23:19:08 kris
- % Version described in DIKU student report 91-7-10.
- %
- % Revision 1.4 1991/08/22 01:07:46 kris
- % Now has quarter circles to radius 40pt as required for xy.doc[1.28].
- %
- % Revision 1.3 1991/07/21 21:04:35 kris
- % Tested with xy.doc[1.19].
- %
- % Revision 1.2 1991/07/19 14:52:26 kris
- % Changed quarter circles to fit xy.doc[1.19?].
- %
- % Revision 1.1 1991/06/24 20:57:37 kris
- % Works with xy.doc [1.6] :-)
-